OUTER page# 0001 next
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
OUTER page# 0002 next prev
54: TITLE STANFORD A-I PDP-6/10 TIME-SHARING SYSTEM 6.16/M
55: SUBTTL OUTER BLOCK CODE AND SYMBOL DEFINITIONS
56:
57: DEFINE XD(SYMBOL,VALUE),<↓SYMBOL←←VALUE>
58: DEFINE XP(SYMBOL,VALUE),<SYMBOL←←VALUE>
59:
60: XD SW3330,-1
61: XD SW2314,0
OUTER page# 0003 next prev
63:
64:
65:
66:
67:
68:
69: XD FTTALK,-1
70:
71: XD FTATTACH,-1
72:
73: XD FTSWAP,-1
74:
75:
76: XD FTDISK,-1
77:
78:
79:
80: XD FTLOGIN,-1
81:
82:
83:
84:
85: IFNDEF FTDDT,{XD FTDDT,-1
86: IFN FTDDT,<XD EDDT,21>
87:
88: XD FTBAT,-1
89:
90: XD FTDSWP,FTDDT
91:
92: IFNDEF IMPSW,<XD IMPSW,-1>
93:
94: XD FTHG,-1
95:
96: XD FTOIKB,0
97:
98:
99:
100: XD FTSTAT,-1
101:
102: XD FTDSKPPN,-1
103:
104: XD FTSHF1K,0
105:
106: XD FTDDSTAT,0
107:
108: XD FTTTYBUG,-1
109:
110: XD FTDRD,-1
111:
112: XD FTXCTR,0
113:
114: XD FTCORBUG,0
115:
116: XD FTTKBG,0
OUTER page# 0004 next prev
118:
119:
120: XALL
121: DEFINE XD (SYMBOL,VALUE) <↓SYMBOL←VALUE>
122:
123:
124:
125:
126:
127: XD IOS,0
128: XD TAC,1
129: XD TAC1,2
130: XD PDP,3
131: XD P,PDP
132: PDP←←PDP
133:
134: XD ITEM,4
135: XD J,ITEM
136: ITEM←←ITEM
137: XD DAT,5
138:
139: XD JBUF,DAT
140: XD DEVDAT,6
141:
142: XD DDB,DEVDAT
143: DEVDAT←←DEVDAT
144: XD PROG,7
145:
146: XD JDAT,PROG
147:
148: XD JDMPRG,0
149:
150: XD TEM,10
151:
152:
153: XD DSER,11
154: XD BUFPNT,12
155:
156: XD UCHN,BUFPNT
157: XD PID,13
158: XD UUO,14
159:
160: XD AC1,15
161: XD AC2,16
162: XD AC3,17
163:
164:
165: IFE FTXCTR,<
166: ↓XR←←4
167: ↓XW←←1
168: ↓XRW←←5
169: ↓XLB←←1
170: ↓XDB←←1
171: ↓XEW←←11
172: >
173: IFN FTXCTR,<
174: ↓XR←←2
175: ↓XW←←4
176: ↓XRW←←6
177: ↓XLB←←10
178: ↓XDB←←12
179: >
180: DEFINE XD (SYMBOL,VALUE) <↓SYMBOL←←VALUE>
OUTER page# 0005 next prev
182:
183:
184: COMBIT←←400000
185: DLYBIT←←200000
186:
187:
188:
189:
190:
191: XD STTIBF,30
192: XD STTOBF,30
193: XD UTTYBF,30
194: XD LPP,=24
195: XD WPL,=17
196: XD LINLGD,WPL*5-3
197: XD DDBSKW,1
198:
199:
200: XD DEVCMR,-1
201: XD DEVNAM,0
202:
203:
204: XD DEVCHR,1
205:
206:
207: XD HUNGCT,100
208:
209:
210: XD HUNGST,1
211:
212:
213: XD PUNITS,7
214: XD PUNITP,22-PUNITS
215:
216:
217: XD DEVIOS,2
218: XD DEVSER,3
219:
220:
OUTER page# 0006 next prev
222:
223: XD DGIVDD,-4
224: XD DGETDD,-3
225: XD DINI,-2
226: XD DHNG,-1
227: XD DRL,0
228: XD DCL,1
229:
230: XD CLSOUT,1
231: XD CLSIN,2
232: XD DOU,2
233: XD DIN,3
234:
235: XD DEN,4
236: XD DLK,5
237: XD DDO,6
238: XD DDI,7
239: XD DSO,10
240: XD DSI,11
241: XD DGF,12
242: XD DRN,13
243: XD DCLI,14
244: XD DCLR,15
245:
246: XD DMT,16
247:
OUTER page# 0007 next prev
249:
250:
251: XD DEVMOD,4
252:
253:
254:
255:
256:
257:
258: XD ASSCON,400000
259:
260: XD ASSPRG,200000
261:
262:
263: XD DVOUT,1
264: XD DVIN,2
265: XD DVDIR,4
266: XD DVTTY,10
267: XD DVMTA,20
268: XD DVAVAL,40
269:
270:
271: XD DVDTA,100
272: XD DVPTR,200
273: XD DVPTP,400
274: XD DVLNG,1000
275:
276:
277: XD DVIMP,2000
278: XD DVTV,4000
279: XD TTYUSE,10000
280: XD TTYATC,20000
281: XD DVLPT,40000
282: XD DVUDP,100000
283: XD DVDSK,200000
284: XD DVDIRIN,400000
OUTER page# 0008 next prev
286:
287:
288: XD DEVLOG,5
289: XD DEVBUF,6
290:
291:
292: XD DEVIAD,7
293:
294: XD DEVADR,DEVIAD
295:
296: XD DEVOAD,10
297:
298: XD DEVPTR,DEVOAD
299:
300: XD DEVCTR,11
301:
302: XD DEVFIL,11
303: XD DEVEXT,12
304: XD DEVPPN,13
305:
306: XD DEVIBF,400000
307:
308: XD DEVAOA,200000
309:
310: XD DEVSHR,100000
311:
312: XD DEVLUP,40000
313: XD DEVMAS,20000
314:
OUTER page# 0009 next prev
316:
317:
318: XP A,0
319: XD AL,1
320: XP I,10
321: XD IB,13
322: XP B,14
323: XD SD,15
324: XD DR,16
325: XP D,17
326:
327:
328: XD IOWC,20
329:
330: XD IOCON,40
331: XD IONRCK,100
332:
333:
334:
335:
336:
337:
338:
339:
340:
341: XD IOPAR,1000
342:
343: XD IOTEND,2000
344: XD IOBOT,4000
345: XD IOACT,10000
346: XD IODEND,20000
347: XD IOBKTL,40000
348: XD IODTER,100000
349: XD IODERR,200000
350: XD IOIMPM,400000
351:
352:
353:
354: XD IOW,1
355: XD IOBEG,2
356: XD IOFST,4
357:
358: XD IO,20
359: XD IOEND,40
360: XD DEVSBB,1000
OUTER page# 0010 next prev
362:
363:
364:
365:
366:
367: XD INITB,400000
368:
369: XD IBUFB,200000
370:
371: XD OBUFB,100000
372:
373: XD LOOKB,40000
374: XD ENTRB,20000
375: XD INPB,10000
376: XD OUTPB,4000
377: XD ICLOSB,2000
378: XD OCLOSB,1000
379: XD INBFB,400
380: XD OUTBFB,200
381: XD SYSDEV,100
382:
383:
384:
385:
386:
387: XD SLICE,40
388:
389: XP SLEVEL,20
390:
OUTER page# 0011 next prev
392:
393: XD JBFADR,0
394:
395:
396:
397:
398:
399: XD JBFPTR,1
400:
401: XD JBFCTR,2
402:
403: XD IOUSE,400000
404:
405:
406:
407:
OUTER page# 0012 next prev
409:
410:
411: XD RUN,400000
412:
413: XD CMWB,200000
414:
415:
416:
417: XD JACCT,100000
418:
419: XD JNA,40000
420:
421: XD JERR,20000
422:
423: XD JLOG,10000
424:
425: XD SHF,4000
426:
427:
428:
429: XD SWP,2000
430:
431: XD JSEG,1000
432:
433:
434: XD CLKR,400
435:
436:
437: XD JWSIZ,5
438: XD JWPOS,=14
439: XD WTMASK,370
440:
441:
442:
443:
444: XD JHLDIN,2
445:
446:
447:
448: XD JWP,1
449:
450:
451:
452:
453: XD SAVJDA,400000
454:
455: XD WIPEJD,200000
456:
457: XD JLOCK,100000
458: XD SDEADIN,040000
459:
460: XD SDEAD1,20000
461:
462: XD FBINP,010000
463:
464: XD FBERP,004000
465:
466: XD FBJWT,002000
467:
468:
469:
470: XD STOPIO,SWP+CMWB+SHF
471:
472: XD RUNABLE,RUN+JNA
473:
474: XP RUNMSK,JLOG!CLKR!CMWB!JACCT!JHLDIN
475:
476:
477:
478: REPEAT 0,<
479: ;; 2-PROCESSOR INTERLOCKED STATUS BITS (COULD BE FLUSHED)
480: ; LH BITS . . .
481: XD RUN2,2 ; PROCESS RUNNABLE ON P2
482: XD RUN1,1 ; PROCESS RUNNABLE ON P1
483:
484: ; RH BITS . . .
485:
486: ;NONE YET
487: >
OUTER page# 0013 next prev
489:
490:
491: XD INTSNB,400000
492:
493: XD BATSNB,200000
494:
495: XD COMSNB,100000
496:
497: XD JRDSNB,40000
498:
499: XD SPWSNB,20000
500:
501:
502:
503:
504:
505:
506: XD HLDSNB,INTSNB!COMSNB
507:
508:
OUTER page# 0014 next prev
510:
511:
512:
513:
514:
515:
516:
517: XD SPWRUN,400000
518: XD SPWGRT,200000
519: XD SPWSUS,100000
520:
521:
522:
523: XD SPWST1,40000
524: XD SPWERB,20000
525:
526: XD SPWSU1,10000
527:
528:
529: XD SPWST2,4000
530: XD SPWSU2,2000
531: XD SPWNT1,1000
532: XD SPWNT2,400
533:
534:
535:
536: XD ILLTMO,20
537: XD ILMSPW,10
538: XD NXMSPW,4
539: XD POVSPW,2
540: XD CNSSPW,1
OUTER page# 0015 next prev
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590: DEFINE PRIVS
591: <
592:
593: XLPRIV PRI,400000
594: XLPRIV DAW,200000
595:
596: XLPRIV PRO,100000
597: XLPRIV REA,40000
598: XLPRIV WRT,20000
599:
600: XLPRIV UDP,10000
601: XLPRIV UPG,4000
602: XLPRIV MES,2000
603: XLPRIV KIL,1000
604: XLPRIV DEV,400
605: XLPRIV SEG,200
606: XLPRIV SSL,100
607: XLPRIV ACW,40
608: XLPRIV INF,20
609: XLPRIV TLK,10
610: XLPRIV FBW,4
611: XLPRIV XGP,2
612: XLPRIV LUP,1
613: >
614:
615: DEFINE XLPRIV $ (NAM,VAL)
616: <XD NAM$PRV,VAL>
617:
618:
619: PRIVS
620:
621:
622: ↓RSPRVS←←<XWD XGPPRV!SSLPRV,0>
OUTER page# 0016 next prev
624:
625:
626: XD STATLEN,600
627:
628:
629: XD CSZSTA,000000
630: XD CPSSTA,040000
631: XD NAMSTA,400000
632:
633: XD QUESTA,410000
634: XD SINSTA,420000
635: XD SEGSTA,430000
636: XD SPWSTA,440000
637: XD GLUSTA,450000
638: XD LOKSTA,460000
639: XD FITSTA,470000
OUTER page# 0017 next prev
641:
642:
643:
644:
645:
646:
647: DEFINE NOSCHED
648: <>
649:
650:
651:
652: DEFINE SCHEDULE
653: <>
654:
655:
656:
657:
658:
659:
660: DEFINE NOSHUFF
661: <>
662:
663: DEFINE SHUFFL
664: <>
665:
666:
667:
668:
669: DEFINE STARTDV ! (A)
670: <
671: CONO PI,PIOFF
672: HLRM TAC,A!CON
673: CONO A,(TAC)
674: CONO PI,PION
675: >
OUTER page# 0018 next prev
677:
678:
679: DEFINE CAT ! (A,B) <A!B>
680:
681: OPDEF CLRBFI [TTYUUO 11,]
682: OPDEF INWAIT [TTYUUO 14,]
683:
684:
685: IFE FTXCTR,<OPDEF XCTR [XCT]>
686: IFN FTXCTR,<OPDEF XCTR [107000,,]>
687:
688: DEFINE TYPE (S) <
689: PUSHJ P,TTYFUW
690: CLRBFI
691: PUSHJ P,INLMES
692: ASCIZ /S
693: /
694: PUSHJ P,TYPGO
695: >
696:
697: DEFINE HGMAC(CODE) <
698: IFN FTHG, <
699: JUMPN PID,.+3
700: PUSH P,[CODE]
701: POP P,HGCODE >>
702:
703:
704:
705: DEFINE UUOMAC(TBL,BASUUO)
706: {TBL: UUOS
707: { UUOMC2 X
708: }UUOCNT←←.-TBL
709: BASUUO UUOCNT-1,UUOLNK
710: ↑↑UUOLNK←←.
711: UUOS
712: { <SIXBIT ,X,>
713: }}
714:
715: DEFINE UUOMC2(A,B,C){B,,IFDIF<C><><C
716:
717: ↓UUOLNK←←0
OUTER page# 0019 next prev
719:
720:
721: XD PSYNCN,4
722:
723: DEFINE SYNINI (A) <
724: SETZM A
725: SETZM A+1
726: SETZM A+2
727: SETZM A+3
728: >
729:
730: DEFINE PSYNC1(A) <
731: PUSHJ P,PWAIT
732: A
733: IFIDN <A><><JFCL>
734: >
735:
736: DEFINE PSYNC (A) <
737: PUSHJ P,PWAIT
738: MOVEI TAC,A
739: >
740:
741: DEFINE XSYNC1(A) <
742: PUSHJ P,XWAIT
743: A
744: IFIDN <A><><JFCL>
745: >
746:
747: DEFINE XSYNC (A) <
748: PUSHJ P,XWAIT
749: MOVEI TAC,A
750: >
OUTER page# 0020 next prev
752:
753:
754: ↓FIXNUM←←10
755: ↓FIXLEN←←FIXNUM*40
756:
757: DEFINE PUSHACS <
758: PUSHJ P,PUSHIT
759: >
760: DEFINE POPACS <
761: PUSHJ P,POPIT
762: >
763:
764: DEFINE DEBCHECK <
765: SKIPE DEBMODE
766: PUSHJ P,DDTCALL
767: >
768:
769:
770:
771:
772:
773:
774:
775:
776:
777:
778:
779:
780: OPDEF OPZERO[0]
781: DEFINE DISARG $ (A,B)
782: < A$QQQ B
783: >
784: DEFINE QQQNAM
785: < ERRMAC STR
786: ERRMAC CHR
787: ERRMAC OCT
788: ERRMAC LOC
789: ERRMAC DEC
790: ERRMAC SIX
791: ERRMAC DCP
792: >
793: DEFINE ERRMAC $ (I)
794: < OPDEF I$QQQ [QQQ⊗=23]
795: QQQ←←QQQ+1
796: >
797: QQQ←←0
798:
799: QQQNAM
OUTER page# 0021 next prev
801:
802:
803: XD LJOBN,100
804: XD JOBN,100
805: XD NSPMEM,=2000
806: XD PTRNUM,1
807: XD PTPNUM,1
808: XD LPTNUM,1
809: XD CDRNUM,0
810: XD TVNUM,1
811: XD ADNUM,1
812:
813: XD DTCNUM,4
814: XD MTCNUM,2
815: XD SCNNUM,20
816: XD DPYNUM,6
817: XD DDNUM,100-6
818: XD KBDNUM,DPYNUM
819: XD PTYNUM,24
820: XD DILNUM,1
821: XD ELFNUM,1
822: XD IOPDLN,2*23
823: XD CLKPLN,140
OUTER page# 0022 next prev
825:
826:
827: DEFINE QUEUES
828: < X (FUCK)
829: X (ST)
830: X (DT)
831: X (DC)
832: X (MT)
833: >
834:
835:
836:
837:
838:
839: DEFINE CODES
840: < X (IOW)
841: X (DIOW)
842: X (DW)
843: X (NUL)
844: X (STOP)
845: X (INTW)
846: X (SEG)
847: >
848:
849: DEFINE PQUEUES
850: < X (RUN)
851: X (T)
852: >
853:
854:
855:
856: XD QQMQT,10
857: XD JIFSEC,=60
858: XD JLLENGTH,=20
859: XD JLTIME,2*JOBN
860: IFG =60-JOBN,<XD JLTIME,=120>
861:
OUTER page# 0023 next prev
863:
864: XD APR,0
865: XD PI,4
866: XD IOP,10
867: XD PTP,100
868: XD PTR,104
869: XD CTY,120
870: XD TTY,CTY
871: XD LPT,124
872: XD DC,200
873: XD DCB,204
874: XD DTC,210
875: XD DTS,214
876: XD MTC,220
877: XD MTS,224
878: XD MTM,230
879: XD ADC,240
880: XD DAC,244
881: XD DCSA,300
882: XD DCSB,304
883: XD DKB,310
884: XD VDS,340
885: XD PK,370
886: XD DIL,374
887: XD IMP,400
888: XD TV,404
889: XD PEN,414
890: XD ARM,420
891: XD AD,424
892: XD DPY,430
893: XD KBD,434
894: XD XGP,440
895: XD DSK,444
896: XD D11,470
897: XD PMP,500
898: XD IBM,504
899: XD DDD,510
900: XD PCLK,730
901: XD AS,774
OUTER page# 0024 next prev
903:
904:
905:
906: XD IOPJDN,10
907: XD IOPNXM,20
908: XD IOPMIS,40
909:
910: XD IOPPAR,100000
911: XD IOPRLY,200000
912:
913: XD IOPANY,IOPNXM!IOPMIS!IOPPAR!IOPRLY
OUTER page# 0025 next prev
915: SUBTTL FIRST 19 JULY 67
916:
917: XD STDENS,2
918:
919:
920:
921:
922:
923: XD DTTRY,4
924:
925:
926: XD MTSIZ,200
927:
928:
929: XD LPTSIZ,=24
930:
931:
932: XD LPTBLN,300
933:
934: XD PTPBLN,320
935:
936: XD BLKQNT,=50
937:
938:
939:
940: XD DDTMEM,37
941:
942: XD DDTSYM,36
OUTER page# 0026 next prev
944:
945:
946:
947:
948:
949: IFN FTDDT,<
950: LOC 74
951: 0,,DDT
952:
953: LOC 162
954: NOTDDT
955: SYMLOC
956: INDDT
957: DDTSWP
958: ↓BOOTWC:0
959: ↓BOOTSE:0
960: >
961:
962: LOC 200
963:
964:
965: SYSDSP: JRST SYSINI
966:
967:
968: IFN FTDDT,<JRST DDT>
969: IFE FTDDT,<HALT .>
970:
971:
972: JRST SYSMAK
973:
974:
975: JRST JSR2
976:
977:
978: JRST .
979:
980:
981: HALT .
982:
983:
984: JRST BEGIN
985:
986:
987: HALT .
OUTER page# 0027 next prev
989:
990:
991:
992: IFN FTSWAP,<
993: XWD 0,JBTSTS↔ PRJPRG ↔ JBTSWP ↔ SPWGO ↔ TTIME ↔ UPTIME ↔ CORMAX ↔ DEVLST
994: >
995: IFE FTSWAP,<
996: XWD 0,JBTSTS↔ 0 ↔ 0 ↔ SPWGO ↔ TTIME ↔ UPTIME ↔ 0 ↔ DEVLST
997: >
998:
999: TTYTAB ↔ <BYTE(9)SCNNUM,DPYNUM,DDNUM,PTYNUM> ↔ JOBN-1 ↔ JBTADR ↔ JBTQ ↔ JOBNAM ↔ JOB ↔ CONFIG
1000:
1001: SP2GO ↔ JOBQUE ↔ JBTPRI ↔ JBTJL ↔ NQUES ↔ QNAMS ↔ JBTLIN ↔ LETAB
1002:
1003:
1004: JBTJLH
1005: IFN FTSTAT, < STATS ↔ JBTGSL ↔ STATLEN ↔ STATPTR ↔ STATNUM >
1006: IFE FTSTAT, < 0 ↔ JBTGSL ↔ 0 ↔ 0 ↔ 0 >
1007: INTIME ↔ STBEG
1008:
1009:
1010: JBTKCJ ↔ JBTBTM ↔ LASTRESTART ↔ TTYLOK ↔ MAINTMODE ↔ BIGHOL ↔ LASTDISASTERTIME ↔ SHFWAT
1011:
1012: STEND2 ↔ FBBANDLIST ↔ EXPMOD ↔ MEMSIZ ↔ FSRPQ ↔ SYSTOP ↔ CORTAB ↔ NOLOGIN
1013:
1014: PTYJOB↔JBTPRV↔XWD UCLLEN⊗9+UCLDLN,UCLTAB↔XWD 0,DSKPPN↔FTIME↔NJOBS↔DSKOPS↔INITIM
1015:
1016: XWD -DISPL,COMTAB↔FBACT↔LINTAB↔ASTAB↔JB2PRV↔XWD -LFTLEN,LFTTAB↔XWD -RHTLEN,RHTTAB↔JBTSIN
1017:
1018: JBTGLU↔JOBNM1↔DDFCNT
1019: BLOCK 2
OUTER page# 0028 next prev
1021:
1022:
1023: SIXRUN: JFCL
1024:
1025: ↑↑PUSHIT:
1026: PUSH P,0
1027: HLRE 0,P
1028: ADDI 0,20
1029: XOR 0,P
1030: JUMPGE 0,PUSHOK
1031: POP P,0
1032: MOVE TAC,[POINT 7,[ASCIZ ⊗NOT ENOUGH ROOM TO PUSH ACS.
1033: ⊗]]
1034: JSR DDTTYPE
1035: CONSZ APR,MAOFF
1036: JRST DDT
1037: HALT AUTOLOAD
1038:
1039: PUSHOK: POP P,0
1040: EXCH 0,(P)
1041: MOVEM 0,20(P)
1042: MOVEI 0,1(P)
1043: HRLI 0,1
1044: BLT 0,17(P)
1045: ADD P,[XWD 20,20]
1046: POPJ P,
1047:
1048: ↑↑POPIT:
1049: MOVSI 0,-17(P)
1050: HRRI 0,1
1051: BLT 0,17
1052: MOVE 0,20(P)
1053: EXCH 0,(P)
1054: POPJ P,
OUTER page# 0029 next prev
1056:
1057:
1058: DDTCALL:
1059: MOVEM TAC,DDTPAC
1060: IFN FTDDT,{
1061: IFN FTDSWP,< SKIPE NOTDDT
1062: JRST NXDDT
1063: MOVE TAC,[POINT 7,[ASCIZ/YOU'RE IN DDT π↓π
1064: /]]
1065: JSR DDTTYPE
1066: MOVE TAC,DDTPAC
1067: CONSZ APR,MAOFF
1068: JRST DDT
1069: JRST 4,DDT
1070: }
1071:
1072: NXDDT: MOVE TAC,[POINT 7,[ASCIZ/NO DDT
1073: /]]
1074: JSR DDTTYPE
1075: MOVE TAC,DDTPAC
1076: POPJ P,
1077:
1078: DDTPAC: 0
OUTER page# 0030 next prev
1080:
1081: AUTOLOAD:
1082: CONSZ APR,MAOFF
1083: JRST AUTO10
1084: CONO APR,200000
1085: CONO PI,10400
1086: JRST SYSDSP+4
1087:
1088: AUTO10: EXCH P,ERRPD
1089: PUSHACS
1090: SETOM DISFLAG
1091: PUSHJ P,DISFLU
1092: POPACS
1093: SKIPN DEBMODE
1094: CONSZ DSK,1B27
1095: PUSHJ P,DDTCALL
1096: CONO APR,200000
1097: CONO PI,10400
1098: PUSHJ P,DSKSTP
1099: CONO APR,200000
1100: CONO PI,10400
1101: SKIPN P2NUM
1102: JRST AUTO1
1103: SETZM AUTOSYNC
1104: MOVE TAC,[JSR AUTO6]
1105: MOVEM TAC,46
1106: MOVEM TAC,56
1107: MOVEI TAC,200000
1108: SKIPN AUTOSYNC
1109: SOJG TAC,.-1
1110: JUMPN TAC,AUTO1
1111: SKIPE AUTOSYNC
1112: JRST AUTO1
1113: MOVE TAC,SIXPNT
1114: JSR DDTTYPE
OUTER page# 0031 next prev
1116:
1117:
1118: AUTO2: SETOM CH3
1119: SETZM CH3
1120: SKIPN AUTOSYNC
1121: JRST AUTO2
1122: AUTO1:
1123: MOVE TAC,RSTPNT
1124: JSR DDTTYPE
1125: MOVE TAC,UPTIME
1126: EXCH TAC,LASTRESTART
1127: REPEAT 0,< ;TIRED OF RESTARTS THAT DON'T WORK?
1128: SUB TAC,UPTIME
1129: MOVNS TAC
1130: CAIG TAC,=60*JIFSEC
1131: JRST AUTO3
1132: MOVE TAC,MONPTR
1133: PUSHJ P,CHECK
1134: CAME TAC1,MONSUM
1135: >
1136: JRST AUTO3
1137: SETZM AUTOSYNC
1138: JRST SYSDSP
1139: AUTO3: HRLZI 17,AUTOL
1140: BLT 17,17
1141: JRST 0
1142:
1143: SIXPNT: POINT 7,.+1
1144: ASCIZ /
1145: PLEASE START THE PDP-6 AT 204
1146: /
1147:
1148: RSTPNT: POINT 7,.+1
1149: ASCIZ /
1150: AUTOMATIC RESTART
1151: /
1152:
OUTER page# 0032 next prev
1154:
1155:
1156: AUTO6: 0
1157: CONO PI,10400
1158: CONO APR,200000
1159: MOVE 1,[MOVE 17,AUTOSYNC]
1160: MOVE 2,[JUMPN 17,1]
1161: MOVE 3,[SOJG 0,3]
1162: MOVE 4,[JRST AUTO4]
1163: MOVEI 0,100000
1164: SETOM AUTOSYNC
1165: JRST 1
1166:
1167: AUTO4: MOVE TAC,[JSR P2CH3]
1168: MOVEM TAC,46
1169: MOVE TAC,[JSR P2CH7]
1170: MOVEM TAC,56
1171: JRST SYSDSP+4
1172:
1173: DEBMODE:
1174: 0
1175:
1176: AUTOL:
1177: PHASE 0
1178: AUTOL3: CONO DSK,1B23!1B24
1179: CONO IOP,0
1180: DATAO IOP,AUTOL1
1181: JFCL
1182: JFCL
1183: DATAO DSK,SYSBAND
1184: CONSO IOP,IOPANY!IOPJDN
1185: JRST .-1
1186: CONSZ IOP,IOPANY
1187: HALT 0
1188: SETZM AUTOSYNC
1189: JRST SYSDSP
1190:
1191: AUTOL1: XWD -=76*2000,0
1192:
1193: DEPHASE
1194:
1195:
OUTER page# 0033 next prev
1197:
1198:
1199:
1200: ...TM2: 0
1201: ↑↑DDTTYPE:
1202: 0
1203: MOVEM TAC1,...TM2
1204: DDTTY1: ILDB TAC1,TAC
1205: JUMPE TAC1,DDTTY2
1206: CONSZ CTY,20
1207: JRST .-1
1208: DATAO CTY,TAC1
1209: CONSO CTY,40
1210: JRST DDTTY1
1211: DATAI CTY,TAC1
1212: DDTTY3: CONSZ CTY,20
1213: JRST .-1
1214: DATAO CTY,TAC1
1215: CAIE TAC1,15
1216: JRST DDTTY4
1217: MOVEI TAC1,12
1218: JRST DDTTY3
1219:
1220: DDTTY4: ILDB TAC1,TAC
1221: JUMPN TAC1,.-1
1222:
1223: DDTTY2: MOVE TAC1,...TM2
1224: JRST @DDTTYPE
1225:
OUTER page# 0034 next prev
1227:
1228:
1229:
1230: ALTNOW: MOVE TAC,UPTIME
1231: EXCH TAC,LASTDISASTERTIME
1232: SUB TAC,UPTIME
1233: MOVNS TAC
1234: CAILE TAC,=60*JIFSEC
1235: POPJ P,
1236: CONO PI,PIOFF
1237: AOS (P)
1238: SETOM DISFLAG
1239: POPJ P,
OUTER page# 0035 next prev
1241:
1242:
1243:
1244: DETFLG: 0
1245: CRKTIM: 0
1246: CRKDAT: 0
1247: P1NUM: 0
1248:
1249: P2NUM: 0
1250: PWRCNT: 1B17
1251: P2RCNT: 1B17
1252: XJBPFI: XWD JOBPFI,0
1253:
1254:
1255: IFN FTLOGIN,<
1256: REFLAG: 0
1257:
1258:
1259:
1260: MAINTMODE: 0
1261: NOLOGIN: 0
1262: EXPMOD: 0
1263: BLTSWP: 0
1264: >
1265: SYSSIZ: SYSMAK
OUTER page# 0036 next prev
1267:
1268:
1269: P2XFR1: JRST .+1
1270: P2XFR: AOJA 0,.
1271: AOJA 0,.
1272: JRST 4,-1
1273:
1274: PICON: CONO PI,32237
1275:
1276: P2CON: CONO PI,32237
1277: INIMES: .+1
1278: ASCIZ /SYSTEM LOADED ON /
1279: SAVITM: 0
OUTER page# 0037 next prev
1281:
1282:
1283: XD PION,200
1284: XD PIOFF,400
1285: XD USRMOD,10000
1286: XD ADRBRK,040000
1287: XD IOTUSR,100000
1288: XD MAOFF,40
1289:
1290: REPEAT 0,<
1291: ;SYSTEM WRITE REFERENCE KLUGE:
1292: ;SYS WR REF KLUGE IS ENABLED BY DATAO PTR,[1]. DISABLED BY DATAO PTR,[0]
1293: XD SYSCLB,400000 ;SYSTEM STOMPED FLAG (CONI)
1294: XD CLRCLB,100000 ;CLEAR SAME (CONO)
1295: XD SWRENB,4000 ;SYSTEM WRITE REFERENCE ENABLED (CONI)
1296: >
1297:
1298: XD SAVDMP,'DMP'
1299:
1300:
1301: XD INTSWW,400000
1302: XD INTSWD,200000
1303: XD INTSHW,100000
1304: XD INTSHD,040000
1305: XD INTTTY,020000
1306: XD INTPTI,010000
1307: XD INTMAIL,004000
1308: XD INTWAIT,002000
1309: XD INTPTO,001000
1310: XD INTPAR,000400
1311: XD INTCLK,000200
1312: XD INTINR,000100
1313: XD INTINS,000040
1314: XD INTIMS,000020
1315: XD INTINP,000010
1316: XD INTTTI,000004
1317: XD INTQXF,2
1318: XD INTHAL,1
1319:
1320: XD CNS,400000
1321: XD POV,200000
1322: XD ILM,20000
1323: XD NXM,10000
1324: XD INTFOV,100
1325: XD INTOV,10
1326:
1327:
1328: DEVLST:
1329: IFN FTDISK,<XWD DSKDDB,0>
1330: IFE FTDISK,<XWD PTRDDB,0>
1331:
1332:
1333:
1334: XD MXQUE,0
1335:
1336: DEFINE X (A) <↓MXQUE←←MXQUE+1
1337:
1338: QUEUES
1339: CODES
1340: PQUEUES
1341:
1342: NQUES←←MXQUE
OUTER page# 0038 next prev
1344:
1345: SUBTTL IOINIT J. SAUTER, 04-AUG-68
1346:
1347:
1348:
1349:
1350:
1351:
1352:
1353: ↓CH1: 0
1354: IFN ADNUM,<
1355: JRST ADINT
1356: >
1357: JEN @CH1
1358:
1359: ↓CH2: 0
1360: JEN @CH2
1361:
1362: ↓CH3: 0
1363: DPYCON: CONSZ DPY,400000
1364: JRST DPYINT
1365: CONSZ 510,20
1366: JRST DDINT
1367: CONSZ PI,1B18
1368: JRST PWROFF
1369: PARCON: CONSZ PI,1B20
1370: JRST PARINT
1371:
1372: APRCON: CONSO APR,400
1373: JRST APRINT
1374: JEN @CH3
1375:
1376: ↓CH4: 0
1377: IFG DTCNUM,<
1378: DTCCON: CONSZ DTS,0
1379: JRST DTCINT
1380: IFE DTCNUM+MTCNUM,<
1381: SKIPE DTCFLAG
1382: JRST DTCINT
1383: IFG MTCNUM,<
1384: MTCCON: CONSZ MTS,0
1385: JRST MTCINT
1386: IFN IMPSW,<
1387: CONSZ IMP,040000
1388: JRST IMPERB
1389: CONSZ IMP,030000
1390: JRST IMPINT
1391: IMPOTS: CONSZ IMP,004000
1392: JRST IMPOUT
1393: IMPCTS:
1394: >
1395: JEN @CH4
OUTER page# 0039 next prev
1397:
1398:
1399: ↓CH5: 0
1400: IFN LPTNUM,<
1401: LPTCON: CONSZ LPT,0
1402: JRST LPTINT
1403:
1404: IFG SCNNUM,<
1405: CONSZ DCSA,1010
1406: JRST SCNINT
1407:
1408: IFG KBDNUM,<
1409: CONSZ DKB,10
1410: JRST DKBINT
1411:
1412: IFN FTOIKB,<
1413: CONSZ KBD,40 ;OLD DISPLAY CONSOLE KEYBOARD?
1414: JRST KBDINT ;YES >>
1415:
1416: CONSZ TTY,50
1417: JRST CTYINT
1418:
1419: CONSZ PK,7
1420: CONSO PK,10
1421: JRST .+2
1422: JRST PKINT
1423:
1424: IFN PTRNUM,<
1425: PTRCN1: CONSZ PTR,0
1426: JRST PTRINT
1427:
1428: IFN CDRNUM,<
1429: CDRCON: CONSZ CDR,0
1430: JRST CDRINT
1431: JEN @CH5
1432:
1433:
1434:
1435:
1436:
1437:
1438:
1439:
1440:
OUTER page# 0040 next prev
1442:
1443:
1444: ↓CH6: 0
1445: IFN FTDISK,<
1446: CONSZ PMP,20
1447: CONSO PMP,4
1448: CAIA
1449: JRST IXINT
1450: >
1451: IFN TVNUM,<
1452: TVCON: CONSZ IOP,0
1453: JRST TVINT
1454: IFN FTDISK,<
1455: DIPCON: CONSZ IOP,IOPANY!IOPJDN
1456: JRST IFBINT
1457: CONSZ DSK,3370
1458: JRST DFBINT
1459: >
1460: IFN PTPNUM,<
1461: PTPCN1: CONSZ PTP,0
1462: JRST PTPINT
1463: IFN DILNUM,<
1464: CONSZ DIL,20
1465: JRST DILINT
1466: >
1467: IFN ELFNUM,<
1468: CONSZ D11,770000
1469: JRST ELFINT
1470: >
1471: JEN @CH6
1472:
1473: ↓CH7: 0
1474: SKIPLE CLKFLG
1475: JRST CLKINT
1476: SKIPGE CLKFLG
1477: JRST CLKIN0
1478: JEN @CH7
OUTER page# 0041 next prev
1480:
1481:
1482: ↓P2CH1: 0
1483: IFN ADNUM,<
1484: ADJMP: JFCL ADINT
1485: >
1486: CONSZ DAC,2000
1487: DACJMP: JRST DACIST
1488: CONSZ ADC,40
1489: ADCJMP: JRST ADCIST
1490: JEN @P2CH1
1491:
1492: ↓P2CH2: 0
1493: CONSZ XGP,XGPDON
1494: JRST XGPINT
1495: JEN @P2CH2
1496:
1497: ↓P2CH3: 0
1498: CONSZ PI,1B18
1499: JRST P2ROFF
1500: P2RCON: CONSZ PI,1B20
1501: JRST P2RINT
1502: ↓AP2CON:
1503: CONSZ APR,631200
1504: JRST AP2INT
1505: JEN @P2CH3
OUTER page# 0042 next prev
1507:
1508:
1509: ↓P2CH4: 0
1510: ↓P2CH4S:MOVEM 17,CH4SA2+17
1511: MOVE 17,[JEN @P2CH4]
1512: MOVEM 17,P2CH4E
1513: MOVEI 17,CH4SA2
1514: BLT 17,CH4SA2+16
1515: MOVSI 17,XGPSAC
1516: BLT 17,17
1517: JRST @X2DISP
1518: X2DISP: .+1
1519: MOVEM 17,XGPSAC+17
1520: MOVEI 17,XGPSAC
1521: BLT 17,XGPSAC+16
1522: MOVSI 17,CH4SA2
1523: BLT 17,17
1524: ↓P2CH4E:JEN @P2CH4
1525:
1526: ↓P2CH5: 0
1527: IFN PTRNUM,<
1528: PTRCN2: CONSZ PTR,0
1529: JRST PTRINT
1530: >
1531: JEN @P2CH5
1532:
1533: ↓P2CH6: 0
1534: IFN PTPNUM,<
1535: PTPCN2: CONSZ PTP,0
1536: JRST PTPINT
1537: >
1538: JEN @P2CH6
1539:
1540: ↓P2CH7: 0
1541: SKIPLE CLKFLG+P2PID
1542: JRST CL2INT
1543: SKIPGE CLKFLG+P2PID
1544: JRST CL2IN0
1545: JEN @P2CH7
OUTER page# 0043 next prev
1547:
1548:
1549:
1550:
1551: CH1SAV: 0
1552: MOVEM 17,CH1SAC+17
1553: MOVEI 17,CH1SAC
1554: BLT 17,CH1SAC+16
1555: MOVE P,[IOWD INTPLN,CH1PDL]
1556: MOVEI PID,P1PID
1557: PUSHJ P,@CH1SAV
1558: CH1RET: MOVSI 17,CH1SAC
1559: BLT 17,17
1560: JEN @CH1
1561:
1562: DTCSAV:MTCSAV:
1563:
1564: CH4SAV: 0
1565: MOVEM 17,CH4SAC+17
1566: MOVEI 17,CH4SAC
1567: BLT 17,CH4SAC+16
1568: MOVE P,[IOWD INTPLN,CH4PDL]
1569: MOVEI PID,P1PID
1570: PUSHJ P,@CH4SAV
1571: ↓CH4RET:
1572: MOVSI 17,CH4SAC
1573: BLT 17,17
1574: JEN @CH4
1575:
1576:
1577: KBDSAV:SCNSAV:CDRSAV:LPTSAV:PKSAV:
1578:
1579: CH5SAV: 0
1580: MOVEM 17,CH5SAC+17
1581: MOVEI 17,CH5SAC
1582: BLT 17,CH5SAC+16
1583: MOVE P,[IOWD INTPLN,CH5PDL]
1584: MOVEI PID,P1PID
1585: PUSHJ P,@CH5SAV
1586: CH5RET:
1587: MOVSI 17,CH5SAC
1588: BLT 17,17
1589: JEN @CH5
OUTER page# 0044 next prev
1591: DSKSAV:TVSAV:
1592: IFN ELFNUM <ELFSAV:ELDSAV:>
1593:
1594: CH6SAV: 0
1595: MOVEM 17,CH6SAC+17
1596: MOVEI 17,CH6SAC
1597: BLT 17,CH6SAC+16
1598: MOVE PDP,[IOWD INTPLN,CH6PDL]
1599: MOVE PID,[P1PID]
1600: PUSHJ PDP,@CH6SAV
1601: CH6RET: MOVSI 17,CH6SAC
1602: BLT 17,17
1603: JEN @CH6
1604:
1605: INTPLN←←100
1606:
1607: CH1PDL: BLOCK INTPLN
1608: ↓CH4PDL:
1609: BLOCK INTPLN
1610: CH5PDL: BLOCK INTPLN
1611: CH6PDL: BLOCK INTPLN
1612:
1613: CH1SAC: BLOCK 20
1614: CH4SAC: BLOCK 20
1615: CH5SAC: BLOCK 20
1616: CH6SAC: BLOCK 20
OUTER page# 0045 next prev
1618:
1619:
1620: ADCSAV:
1621: DACSAV:
1622: CH1SV2: 0
1623: MOVEM 17,CH1SA2+17
1624: MOVEI 17,CH1SA2
1625: BLT 17,CH1SA2+16
1626: MOVE PDP,[IOWD INTPLN,CH1PD2]
1627: MOVE PID,[P2PID]
1628: PUSHJ PDP,@CH1SV2
1629: MOVSI 17,CH1SA2
1630: BLT 17,17
1631: JEN @P2CH1
1632:
1633: XGPSAV:
1634: CH2SV2: 0
1635: MOVEM 17,CH2SA2+17
1636: MOVEI 17,CH2SA2
1637: BLT 17,CH2SA2+16
1638: MOVE P,[IOWD INTPLN,CH2PD2]
1639: MOVE PID,[P2PID]
1640: PUSHJ P,@CH2SV2
1641: MOVSI 17,CH2SA2
1642: BLT 17,17
1643: JEN @P2CH2
1644:
1645: REPEAT 0,<
1646: CH4SV2: 0
1647: MOVEM 17,CH4SA2+17
1648: MOVEI 17,CH4SA2
1649: BLT 17,CH4SA2+16
1650: MOVE PDP,[IOWD INTPLN,CH4PD2]
1651: MOVE PID,[P2PID]
1652: PUSHJ PDP,@CH4SV2
1653: MOVSI 17,CH4SA2
1654: BLT 17,17
1655: JEN @P2CH4
1656: >
1657:
1658: CH5SV2: 0
1659: MOVEM 17,CH5SA2+17
1660: MOVEI 17,CH5SA2
1661: BLT 17,CH5SA2+16
1662: MOVE PDP,[IOWD INTPLN,CH5PD2]
1663: MOVE PID,[P2PID]
1664: PUSHJ PDP,@CH5SV2
1665: MOVSI 17,CH5SA2
1666: BLT 17,17
1667: JEN @P2CH5
1668:
1669: CH6SV2: 0
1670: MOVEM 17,CH6SA2+17
1671: MOVEI 17,CH6SA2
1672: BLT 17,CH6SA2+16
1673: MOVE PDP,[IOWD INTPLN,CH6PD2]
1674: MOVE PID,[P2PID]
1675: PUSHJ PDP,@CH6SV2
1676: MOVSI 17,CH6SA2
1677: BLT 17,17
1678: JEN @P2CH6
OUTER page# 0046 next prev
1680:
1681:
1682: CH1PD2: BLOCK INTPLN
1683: CH2PD2: BLOCK INTPLN
1684:
1685: CH5PD2: BLOCK INTPLN
1686: CH6PD2: BLOCK INTPLN
1687:
1688: CH1SA2: BLOCK 20
1689: CH2SA2: BLOCK 20
1690: CH4SA2: BLOCK 20
1691: CH5SA2: BLOCK 20
1692: CH6SA2: BLOCK 20
1693:
1694:
1695:
1696: PTPSAV: CH6SAV
1697: PTRSAV: CH5SAV
1698: ADSAV: CH1SAV
1699:
1700:
1701:
1702: ALTSAV: CH6SV2
1703: CH5SV2
1704: CH1SV2
OUTER page# 0047 next prev
1706:
1707:
1708:
1709: DEFINE X ! (A,B) <
1710: ↓A!CHN←←B
1711: A!CHL←←CH!B
1712: A!ON←←1B25+1⊗(7-B)
1713: A!OFF←←1B26+1⊗(7-B)
1714: >
1715:
1716: X AD,1
1717: X ADC,1
1718: X DAC,1
1719: X DCT,1
1720: X D2,2
1721: X XGP,2
1722: X APR,3
1723: X DPY,3
1724: X DTC,4
1725: X MTC,4
1726: X IMP,4
1727: X KBD,5
1728: X SCN,5
1729: X CTY,5
1730: X PTR,5
1731: X CDR,5
1732: X LPT,5
1733: X DSK,6
1734: X DIP,6
1735: X IOP,6
1736: X TV,6
1737: X PTP,6
1738: X DIL,6
1739: X ELF,6
1740: X ELD,6
1741: X CLK,7
1742:
1743: CL2CHL←←CAT(P2CH,\CLKCHN)
1744: AP2CHL←←CAT(P2CH,\APRCHN)
1745:
1746: ↓XGPCHL←←CAT(P2CH,\XGPCHN)
1747: ↓XGPC2N←←4
1748:
1749: ↓ADCCHL←←CAT(P2CH,\ADCCHN)
1750: ↓DACCHL←←CAT(P2CH,\DACCHN)
1751:
1752: DEFINE XP(S,V)<↑S←←V>
EOF: OUTER end-of-file. cnt=46